﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Heaven.Texturing
{
    /// <summary>
    /// Represent a minimal item of this subsytem. 
    /// Volume layer is a 3-dimentional array of texels
    /// </summary>
    public class VolumeLayer : Layer
    {
        #region Fields

        /// <summary>
        /// Width of the layer
        /// </summary>
        protected int width;

        /// <summary>
        /// Height of the layer
        /// </summary>
        protected int height;
        
        /// <summary>
        /// Depth of the layer
        /// </summary>
        protected int depth;

        #endregion

        #region Properties

        /// <summary>
        /// Width of the layer
        /// </summary>
        public int Width
        {
            get { return width; }
        }

        /// <summary>
        /// Height of the layer
        /// </summary>
        public int Height
        {
            get { return height; }
        }

        /// <summary>
        /// Depth of the layer
        /// </summary>
        public int Depth
        {
            get { return depth; }
        }

        #endregion

        #region Initialization

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="data">Raw data with pixels</param>
        /// <param name="width">Width of the layer</param>
        /// <param name="height">Height of the layer</param>
        /// <param name="depth">Depth of the layer</param>
        /// <param name="format">Format of the pixels</param>
        public VolumeLayer(byte[] data, int width, int height, int depth, LayerFormat format) : base(data, format)
        {
            this.width = width;
            this.height = height;
            this.depth = depth;
        }

        #endregion
    }
}
